Reengineering with Reflexion Models: A Case Study

نویسندگان

  • David Notkin
  • Jonathan Aldrich
چکیده

T o effectively perform most software engineering tasks on an existing system, a software engineer must have some understanding of the system's source code. However, gaining insight into the source code of large and complex systems typically takes too long and costs too much. In an attempt to address this problem, we developed the software reflexion model technique, 1 which lets software engineers rapidly and cost-effectively gain task-specific knowledge about a system's source code. In this article we give an overview of our technique and then relate how a Microsoft engineer used it to aid an experimental reengineering of Excel—a product that comprises about 1.2 million lines of C code. Our technique begins with a high-level model, which users define on the basis of a desired software engineering task. We had often seen software engineers use an informal structural model, say sketched on a white board, to begin reasoning about systems. However, reasoning about a task in this way carries significant risk because the model is disconnected from the source. Thus, the next steps in our technique are to extract a model of the source, define a map, and, through a set of computation tools, compare the two models. This lets software engineers effectively validate their high-level reasoning with information from the source code. To satisfy the need for a quick and inexpensive method, we made the technique " lightweight " and iterative. The user can easily and rapidly access the structural information of interest and can balance the cost of refinement with the potential benefits of a more complete and accurate model. The engineer in our case study—a developer with 10-plus years at Microsoft— specified and computed an initial reflexion model of Excel in a day and then spent four weeks iteratively refining it. He estimated that gaining the same degree of familiarity with the Excel source code might have taken up to two years with other available approaches. The case study demonstrates not only that our technique and tools can scale up to large real-world problems , but also that our technique is flexible and robust enough to withstand adaptations to suit a particular task or environment.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Extending and Managing Software Reflexion Models

The artifacts comprising a software system often “drift” apart over time. Design documents and source code are a good example. The software reflexion model technique was developed to help engineers exploit—rather than remove—this drift to help them perform various software engineering tasks. More specifically, the technique helps an engineer compare artifacts by summarizing where one artifact (...

متن کامل

Software Reflexion Models: Bridging the Gap between Design and Implementation

ÐThe artifacts constituting a software system often drift apart over time. We have developed the software reflexion model technique to help engineers perform various software engineering tasks by exploitingÐrather than removingÐthe drift between design and implementation. More specifically, the technique helps an engineer compare artifacts by summarizing where one artifact (such as a design) is...

متن کامل

The Effectiveness of Reengineering Moheb Project to Improve Knowledge, Attitude, and Performance of Individuals & Local Communities in Response to Earthquake: A Case Study

Background: Evaluating the effectiveness of reengineering Moheb (interventions and sociopsychological supports in disasters) project helps the managers of the Welfare Organization have feedback on the status of community empowerment against disasters. In this regard, this study aimed to determine the effectiveness of reengineering Moheb project to improve the knowledge, attitude, and performanc...

متن کامل

Hierarchical Reflexion Models

The reflexion model originally proposed by Murphy and Notkin allows one to structurally validate a descriptive or prescriptive architecture model against a source model. First, the entities in the source model are mapped onto the architectural model, then discrepancies between the architecture model and source model are computed automatically. The original reflexion model allows an analyst to s...

متن کامل

BPR-based information systems planning for e-logistics: a case study

This paper presents a case study conducted in a semi-conductor manufacturing company concerning information systems planning in the context of reengineering business models for elogistics. A framework based on business process reengineering (BPR) is described. To enhance BPR efforts, the benchmarking technique is introduced as an analysis tool for redesigning business models. The framework emph...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1982